package com.jiang.daily.Q2717;

/**
 * @author Jiang
 * @version 1.0
 * @date 2024/12/11 14:24
 */
class Solution {
    public int semiOrderedPermutation(int[] nums) {
        int n = nums.length;
        // 记录1与 n的索引
        int index_1 = -1, index_2 = -1;
        // 找出1与n的索引
        for (int i = 0; i < n; i++) {
            if (nums[i] == 1)
                index_1 = i;
            if (nums[i] == n)
                index_2 = i;
        }
        // num 表示操作的次数
        int num = 0;
        // 1需要操作的次数
        if (index_1 != 0) {
            num += index_1;
        }
        // n需要操作的次数
        if (index_2 != n - 1) {
            num += n - index_2 - 1;
            if (index_2 < index_1) {
                num -= 1;
            }
        }
        return num;
    }
}
